Micron Document
C.S.Burner 🪙 ━►🔥GIT Node


Displaying Raw • Download

meshchatx/src/frontend/components/auth/AuthPage.vue db40ee7b0256e85be81753b7dcc9f7ee2c556e34 (db40ee7b) Text, 6.55 KB

Tff7b72<Tff7b72!Tff7b72-Tff7b72- Te6edf3SPDXTff7b72-Te6edf3LicenseTff7b72-Te6edf3IdentifierTb4b4b4: T79c0ff0Te6edf3BSD Tff7b72-Tff7b72-Tff7b72>

Tff7b72<Te6edf3templateTff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffh-dvh min-h-0 w-full flex items-center justify-center bg-slate-50 dark:bg-zinc-950Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full max-w-md p-8Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffbg-white dark:bg-zinc-900 rounded-2xl shadow-lg border border-gray-200 dark:border-zinc-800 p-8Ta5d6ff"
Tff7b72>
Tff7b72<Te6edf3div Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-center mb-8Ta5d6ff"Tff7b72>
Tff7b72<Te6edf3div
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-16 h-16 mx-auto mb-4 rounded-2xl overflow-hidden bg-white/70 dark:bg-white/10 border border-gray-200 dark:border-zinc-700 shadow-inner flex items-center justify-centerTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3img Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-16 h-16 object-contain p-2Ta5d6ff" Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Ta5d6fflogoUrlTa5d6ff" Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Te6edf3h1 Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-2xl font-bold text-gray-900 dark:text-zinc-100 mb-2Ta5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{ Te6edf3isSetup ? Ta5d6ff"Ta5d6ffInitial SetupTa5d6ff" Tb4b4b4: Ta5d6ff"Ta5d6ffAuthentication RequiredTa5d6ff" Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3h1Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm text-gray-600 dark:text-zinc-400Ta5d6ff"Tff7b72>
Tb4b4b4{Tb4b4b4{
Te6edf3isSetup
? Ta5d6ff"Ta5d6ffSet an admin password to secure your MeshChatX instanceTa5d6ff"
Tb4b4b4: Ta5d6ff"Ta5d6ffPlease enter your password to continueTa5d6ff"
Tb4b4b4}Tb4b4b4}
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3form Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffspace-y-6Ta5d6ff" @Te6edf3submitTff7b72.Td2a8ffpreventTff7b72=Ta5d6ff"Ta5d6ffhandleSubmitTa5d6ff"Tff7b72>
Tff7b72<Te6edf3divTff7b72>
Tff7b72<Te6edf3label Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-medium text-gray-700 dark:text-zinc-300 mb-2Ta5d6ff"Tff7b72>
Te6edf3Password
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3idTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff"
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff"
Te6edf3required
Te6edf3minlengthTff7b72=Ta5d6ff"Ta5d6ff8Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full px-4 py-2 border border-gray-300 dark:border-zinc-700 rounded-lg bg-white dark:bg-zinc-800 text-gray-900 dark:text-zinc-100 focus:outline-hidden focus:ring-2 focus:ring-blue-500 focus:border-transparentTa5d6ff"
Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ffEnter passwordTa5d6ff"
Te6edf3autocompleteTff7b72=Ta5d6ff"Ta5d6ffcurrent-passwordTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Te6edf3p Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffisSetupTa5d6ff" Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffmt-2 text-xs text-gray-500 dark:text-zinc-500Ta5d6ff"Tff7b72>
Te6edf3Password Te6edf3must Te6edf3be Te6edf3at Te6edf3least T79c0ff8 Te6edf3characters Te6edf3long
Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffisSetupTa5d6ff"Tff7b72>
Tff7b72<Te6edf3label
Tff7b72forTff7b72=Ta5d6ff"Ta5d6ffconfirmPasswordTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffblock text-sm font-medium text-gray-700 dark:text-zinc-300 mb-2Ta5d6ff"
Tff7b72>
Te6edf3Confirm Te6edf3Password
Tff7b72<Tff7b72/Te6edf3labelTff7b72>
Tff7b72<Te6edf3input
Te6edf3idTff7b72=Ta5d6ff"Ta5d6ffconfirmPasswordTa5d6ff"
Te6edf3vTff7b72-Te6edf3modelTff7b72=Ta5d6ff"Ta5d6ffconfirmPasswordTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffpasswordTa5d6ff"
Te6edf3required
Te6edf3minlengthTff7b72=Ta5d6ff"Ta5d6ff8Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full px-4 py-2 border border-gray-300 dark:border-zinc-700 rounded-lg bg-white dark:bg-zinc-800 text-gray-900 dark:text-zinc-100 focus:outline-hidden focus:ring-2 focus:ring-blue-500 focus:border-transparentTa5d6ff"
Te6edf3placeholderTff7b72=Ta5d6ff"Ta5d6ffConfirm passwordTa5d6ff"
Te6edf3autocompleteTff7b72=Ta5d6ff"Ta5d6ffnew-passwordTa5d6ff"
Tff7b72/Tff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3div
Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6fferrorTa5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffp-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lgTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3p Tff7b72classTff7b72=Ta5d6ff"Ta5d6fftext-sm text-red-800 dark:text-red-200Ta5d6ff"Tff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3error Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3pTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>

Tff7b72<Te6edf3button
Te6edf3typeTff7b72=Ta5d6ff"Ta5d6ffsubmitTa5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Ta5d6ffisLoading || (isSetup && password !== confirmPassword)Ta5d6ff"
Tff7b72classTff7b72=Ta5d6ff"Ta5d6ffw-full py-2.5 px-4 bg-blue-600 hover:bg-blue-700 disabled:bg-gray-400 disabled:cursor-not-allowed text-white font-semibold rounded-lg transition-colorsTa5d6ff"
Tff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72ifTff7b72=Ta5d6ff"Ta5d6ffisLoadingTa5d6ff"Tff7b72>Te6edf3ProcessingTff7b72.Tff7b72.Tff7b72.Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Te6edf3span Te6edf3vTff7b72-Tff7b72elseTff7b72>Tb4b4b4{Tb4b4b4{ Te6edf3isSetup ? Ta5d6ff"Ta5d6ffSet PasswordTa5d6ff" Tb4b4b4: Ta5d6ff"Ta5d6ffLoginTa5d6ff" Tb4b4b4}Tb4b4b4}Tff7b72<Tff7b72/Te6edf3spanTff7b72>
Tff7b72<Tff7b72/Te6edf3buttonTff7b72>
Tff7b72<Tff7b72/Te6edf3formTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3divTff7b72>
Tff7b72<Tff7b72/Te6edf3templateTff7b72>

Tff7b72<Te6edf3scriptTff7b72>
Te6edf3import Te6edf3logoUrl Te6edf3from Ta5d6ff"Ta5d6ff../../assets/images/logo.pngTa5d6ff"Tb4b4b4;

Tff7b72export Te6edf3default Tb4b4b4{
Te6edf3nameTb4b4b4: Ta5d6ff"Ta5d6ffAuthPageTa5d6ff"Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3logoUrlTb4b4b4,
Te6edf3passwordTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3confirmPasswordTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3errorTb4b4b4: Ta5d6ff"Ta5d6ff"Tb4b4b4,
Te6edf3isLoadingTb4b4b4: Tff7b72falseTb4b4b4,
Te6edf3isSetupTb4b4b4: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3await Te6edf3thisTff7b72.Td2a8ffcheckAuthStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTb4b4b4: Tb4b4b4{
Te6edf3async Te6edf3checkAuthStatusTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Te6edf3await Te6edf3windowTff7b72.Td2a8ffapiTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff"Ta5d6ff/api/v1/auth/statusTa5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3status Tff7b72= Te6edf3responseTff7b72.Td2a8ffdataTb4b4b4;

Tff7b72if Tb4b4b4(Tff7b72!Te6edf3statusTff7b72.Td2a8ffauth_enabledTb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Tff7b72$Te6edf3routerTff7b72.Td2a8ffpushTb4b4b4(Ta5d6ff"Ta5d6ff/Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3statusTff7b72.Td2a8ffauthenticatedTb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Tff7b72$Te6edf3routerTff7b72.Td2a8ffpushTb4b4b4(Ta5d6ff"Ta5d6ff/Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}

Te6edf3thisTff7b72.Td2a8ffisSetup Tff7b72= Tff7b72!Te6edf3statusTff7b72.Td2a8ffpassword_setTb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTff7b72.Td2a8fferrorTb4b4b4(Ta5d6ff"Ta5d6ffFailed to check auth status:Ta5d6ff"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3thisTff7b72.Td2a8fferror Tff7b72= Ta5d6ff"Ta5d6ffFailed to check authentication statusTa5d6ff"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3async Te6edf3handleSubmitTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Td2a8fferror Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;

Tff7b72if Tb4b4b4(Te6edf3thisTff7b72.Td2a8ffisSetupTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3thisTff7b72.Td2a8ffpassword Tff7b72!=Tff7b72= Te6edf3thisTff7b72.Td2a8ffconfirmPasswordTb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Td2a8fferror Tff7b72= Ta5d6ff"Ta5d6ffPasswords do not matchTa5d6ff"Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}

Tff7b72if Tb4b4b4(Te6edf3thisTff7b72.Td2a8ffpasswordTff7b72.Td2a8fflength Tff7b72< T79c0ff8Tb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Td2a8fferror Tff7b72= Ta5d6ff"Ta5d6ffPassword must be at least 8 characters longTa5d6ff"Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tb4b4b4}

Te6edf3thisTff7b72.Td2a8ffisLoading Tff7b72= Tff7b72trueTb4b4b4;

Te6edf3try Tb4b4b4{
Tff7b72const Te6edf3endpoint Tff7b72= Te6edf3thisTff7b72.Td2a8ffisSetup ? Ta5d6ff"Ta5d6ff/api/v1/auth/setupTa5d6ff" Tb4b4b4: Ta5d6ff"Ta5d6ff/api/v1/auth/loginTa5d6ff"Tb4b4b4;
Te6edf3await Te6edf3windowTff7b72.Td2a8ffapiTff7b72.Td2a8ffpostTb4b4b4(Te6edf3endpointTb4b4b4, Tb4b4b4{
Te6edf3passwordTb4b4b4: Te6edf3thisTff7b72.Td2a8ffpasswordTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;

Te6edf3windowTff7b72.Td2a8fflocationTff7b72.Td2a8ffreloadTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Te6edf3catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3thisTff7b72.Td2a8fferror Tff7b72= Te6edf3eTff7b72.Td2a8ffresponse?Tff7b72.Td2a8ffdata?Tff7b72.Td2a8fferror Tff7b72|| Ta5d6ff"Ta5d6ffAuthentication failedTa5d6ff"Tb4b4b4;
Te6edf3thisTff7b72.Td2a8ffpassword Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;
Te6edf3thisTff7b72.Td2a8ffconfirmPassword Tff7b72= Ta5d6ff"Ta5d6ff"Tb4b4b4;
Tb4b4b4} Te6edf3finally Tb4b4b4{
Te6edf3thisTff7b72.Td2a8ffisLoading Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72<Tff7b72/Te6edf3scriptTff7b72>

Served by rngit 1.5.2 - Generated in 0.04s